Diffusion Model Experiments

This repository contains a set of Jupyter notebooks implementing various diffusion model-based tasks, including image generation, denoising, and inverse problem-solving.

Notebooks Overview

task2.ipynb - Single-shot image denoising using diffusion models.

task3.ipynb - Unconditional image generation from noise.

task4.ipynb - Implementation of Score Distillation Editing (SDEdit) for image editing and generation.

task5.ipynb - Application of Score Annealed Langevin Dynamics (ScoreALD) for inverse problems.

task6.ipynb - Diffusion Posterior Sampling (DPS) for solving inverse problems with high perceptual similarity.

Usage

Each notebook is self-contained and demonstrates the respective method with explanations and visual outputs. To run them, simply open in Jupyter Notebook and execute the cells sequentially.

Requirements

Ensure you have the necessary dependencies installed:

pip install torch torchvision numpy matplotlib

You must also have access to the pretrained diffusion model from the DPS paper.

Citation

If you use this code, please consider citing relevant papers on diffusion models, SDEdit, ScoreALD, and DPS.

Acknowledgments

This work is based on pre-trained diffusion models trained on the FFHQ dataset and follows the variance-preserving formulation of diffusion models.